package libreriaRMI;

import java.rmi.NotBoundException;
import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;

public class ManejadorRegistroRMI {
	public static void  resgistrarObjetoRemoto(String nombreObjeto, String direccionRegistro, Remote objetoRemoto, int puerto){
		Remote stub;
		try {
			stub = UnicastRemoteObject.exportObject(objetoRemoto, puerto);
			Registry registry = LocateRegistry.getRegistry(direccionRegistro);
	        registry.rebind(nombreObjeto,stub);
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static Remote obtenerObjetoRemoto(String nombreObjeto, String direccionRegistro){
		Remote obj = null;
		
		Registry registry;
		try {
			registry = LocateRegistry.getRegistry(direccionRegistro);
			obj = registry.lookup(nombreObjeto);
		} catch (RemoteException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (NotBoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return obj;
	}
}
